home *** CD-ROM | disk | FTP | other *** search
- #include <exec/types.h>
- #include <exec/devices.h>
- #include <devices/timer.h>
- #include "defs.h"
- #include "type.h"
- #include "object.h"
- #include "cell.h"
- #include "func.h"
- #include <stdio.h>
-
- struct timerequest *CreateTimer (unit)
-
- ULONG unit;
-
- {
- struct MsgPort *timerport;
- struct timerequest *timermsg;
-
- if (!(timerport = (struct MsgPort *) CreatePort ("Anim Timer", 0L)))
- return NULL;
-
- if (!(timermsg = (struct timerequest *) CreateExtIO (timerport, (long) sizeof (struct timerequest)))) {
- DeletePort (timerport);
- return NULL;
- }
-
- if (OpenDevice (TIMERNAME, unit, timermsg, 0L)) {
- DeleteExtIO (timermsg);
- DeletePort (timerport);
- return NULL;
- }
-
- return timermsg;
- }
-
- void DeleteTimer (tr)
-
- struct timerequest *tr;
-
- {
- struct MsgPort *tp;
-
- if (tr) {
- if ((tp = tr->tr_node.io_Message.mn_ReplyPort))
- DeletePort (tp);
- CloseDevice (tr);
- DeleteExtIO (tr, (long) sizeof (struct timerequest));
- }
- }
-